﻿<html DIR="LTR" xmlns:tool="http://www.microsoft.com/tooltip" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
  <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8" />
    <META NAME="save" CONTENT="history" />
    <title>使用 SSL 加密进行连接</title>
    
    <link rel="stylesheet" type="text/css" href="../local/Classic.css">
      
    </link>
    
    <script src="../local/script.js">
      
    </script><script src="../local/script_main.js">&amp;nbsp;</script>
  </head>
  <body>
    <!--Topic built:12/06/2007 20:50:20-->

    
    
    
    
    
    
    
    
    
    <div id="header">
      <table width="100%" id="topTable"><tr>
          <td align="left">
            <span id="headerBold">使用 SSL 加密进行连接</span>
          </td>
          <td align="right">
            
          </td>
        </tr></table>
      
      
      
    </div>
    <div id="mainSection">
      
        
        
		<font color="DarkGray"><!-- [This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]<br/>[Documentation built on $$TIMESTAMP$$]  --> </font> <p /> <p />
	
        <div id="introductionSection" class="section">
    <p>Microsoft SQL Server 2005 JDBC Driver 版本 1.2 提供了新的连接属性和新的 <b>getter</b> 和 <b>setter</b> 方法，以允许应用程序使用安全套接字层 (SSL) 加密。</p>
    <p>本主题中的示例描述如何在 Java 应用程序中使用这些新的连接字符串属性。有关这些新的连接字符串属性（如 <b>encrypt</b>、<b>trustServerCertificate</b>、<b>trustStore</b>、<b>trustStorePassword</b> 和 <b>hostNameInCertificate</b>）的详细信息，请参阅<a href="f1b62700-f046-488d-bd6b-a5cd8fc345b7.htm">设置连接属性</a>。</p>
    <p>当 <b>encrypt</b> 属性设置为 <b>true</b> 且 <b>trustServerCertificate</b> 属性设置为 <b>true</b> 时，Microsoft SQL Server 2005 JDBC Driver 将不验证 SQL Server SSL 证书。这一点对于允许在测试环境中建立连接通常是必需的，如 SQL Server 实例只具有自签名证书的情况。</p>
    <p>下面的代码示例演示如何在连接字符串中设置 <b>trustServerCertificate</b> 属性：</p>
    <div class="sampleCode"><span codeLanguage="other"><pre>String connectionUrl = 
    "jdbc:sqlserver://localhost:1433;" +
     "databaseName=AdventureWorks;integratedSecurity=true;" +
     "encrypt=true;trustServerCertificate=true";</pre></span></div>
    <p>当 <b>encrypt</b> 属性设置为 <b>true</b> 且 <b>trustServerCertificate</b> 属性设置为 <b>false</b> 时，Microsoft SQL Server 2005 JDBC Driver 将验证 SQL Server SSL 证书。验证服务器证书是 SSL 握手过程的一部分，这可确保服务器是要连接的正确服务器。为了验证服务器证书，在连接时必须提供信任材料，既可以使用 <b>trustStore</b> 和 <b>trustStorePassword</b> 连接属性显式提供材料，也可以使用基础 Java 虚拟机 (JVM) 的默认信任存储区隐式提供材料。</p>
    <p><b>trustStore</b> 属性指定指向证书 trustStore 文件的路径（包括文件名），该文件中包含客户端信任的证书的列表。<b>trustStorePassword</b> 属性指定用来检查 trustStore 数据完整性的密码。有关使用 JVM 的默认信任存储区的详细信息，请参阅<a href="ae34cd1f-3569-4759-80c7-7c9b33b3e9eb.htm">为 SSL 加密配置客户端</a>。</p>
    <p>下面的代码示例演示如何在连接字符串中设置 <b>trustStore</b> 和 <b>trustStorePassword</b> 属性：</p>
    <div class="sampleCode"><span codeLanguage="other"><pre>String connectionUrl = 
    "jdbc:sqlserver://localhost:1433;" +
     "databaseName=AdventureWorks;integratedSecurity=true;" +
     "encrypt=true; trustServerCertificate=false;" +
     "trustStore=storeName;trustStorePassword=storePassword";</pre></span></div>
    <p>JDBC Driver 提供了一个附加属性 <b>hostNameInCertificate</b>，该属性指定服务器的主机名。此属性的值必须与证书的 subject 属性一致。</p>
    <p>下面的代码示例演示如何在连接字符串中使用 <b>hostNameInCertificate</b> 属性：</p>
    <div class="sampleCode"><span codeLanguage="other"><pre>String connectionUrl = 
    "jdbc:sqlserver://localhost:1433;" +
     "databaseName=AdventureWorks;integratedSecurity=true;" +
     "encrypt=true; trustServerCertificate=false;" +
     "trustStore=storeName;trustStorePassword=storePassword" +
     "hostNameInCertificate=hostName";</pre></span></div>
    <div style="margin: .5em 1.5em .5em 1.5em"><b>注意：</b>
      或者，您可以使用由 <a href="097434fd-2b74-411c-a5ed-eba04481dde5.htm">SQLServerDataSource</a> 类提供的适当的 <b>setter</b> 方法来设置连接属性的值。<p />
    </div>
  </div><span id="seeAlsoSpan"><h1 class="heading">另请参见</h1></span><div id="seeAlsoSection" class="section" name="collapseableSection"><a href="8e566243-2f93-4b21-8065-3c8336649309.htm">使用 SSL 加密</a><br /><a href="90724ec6-a9cb-43ef-903e-793f89410bc0.htm">保护 JDBC Driver 应用程序</a><br /><br />
		
		<b>
			
			
		</b>
	</div><!--[if gte IE 5]>
			<tool:tip element="seeAlsoToolTip" avoidmouse="false"/><tool:tip element="languageFilterToolTip" avoidmouse="false"/><tool:tip element="roleInfoSpan" avoidmouse="false"/>
		<![endif]-->
      <div id="footer" class="section">
        
		<hr />  <span id="fb" class="feedbackcss"> </span> 
		<a href="9bad553b-9e70-4696-8499-2e35f772a1e0.htm">
			
			© 2007 Microsoft Corporation。保留所有权利。
		</a>
 	
	
      </div>
    </div>
  </body>
</html>